package de.vocabulary.client.service;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;

import de.vocabulary.shared.model.LanguageModule;
import de.vocabulary.shared.model.Vocable;

//@RemoteServiceRelativePath("vocabularyService")
public interface VocabularyService extends RemoteService {
	
	List<Vocable> getVocabularyList() throws Exception;
	
	void storeVocabularyList(List<Vocable> vocabulary) throws Exception;
	
	List<List<String>> getTranslations(List<Vocable> vocabulary) throws Exception;
	
	List<String> getTranslation(String wordToBeTranslated) throws Exception;
	
	List<String> getLanguages() throws Exception;
	
	LanguageModule getLanguageModule(String name) throws Exception;
	
	LanguageModule getDefaultLanguageModule() throws Exception;
	
	List<String> getLessons() throws Exception;
	
	//---- Training--------
	
	Vocable setParametersAndGetFirstVocable(String lesson, int amountVocabulary) throws Exception;
	
	Vocable submitFeedbackAndGetNextVocable(boolean correct, boolean ignore) throws Exception;	
	
}

